package com.cbwl.eoas.cms.web.controller.sysconfig;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.cbwl.eoas.cms.api.sysconfig.ISysResourceService;
import com.cbwl.eoas.cms.api.sysconfig.ISysRoleResourceService;
import com.cbwl.eoas.cms.model.sysconfig.SysResourceDTO;
import com.cbwl.eoas.cms.model.sysconfig.SysRoleResourceDTO;
import com.cbwl.eoas.common.framework.exception.CustomException;



/**
 * 
 * <p>[描述信息：注释]</p>
 *
 * @author 虞云波 - yuyunbo@3856.cc
 * @version 1.0 Created on 2017年10月12日 下午13:29:23
 */
@Controller
@RequestMapping("/sysRoleResource")
public class SysRoleResourceController {
	
	private static Logger logger = LoggerFactory.getLogger(SysRoleResourceController.class);
	
	//业务层注解
	@Autowired
	private ISysResourceService sysResourceService;
	
	//业务层注解
	@Autowired
	private ISysRoleResourceService SysRoleResourceDTOService;
	
	/**
	 * <p>初始化界面</p>
	 * 
	 * @return
	 * @author 虞云波 - yuyunbo@3856.cc
	 * @version 1.0 Created on 2017年10月12日 下午13:29:23
	 */
	@RequestMapping("/initSysRoleResource")
	public String initSysRoleResourceDTOPage() {
		return "initSysRoleResource";
	}


	/**
	 * <p>初始化新增修改界面</p>
	 * 
	 * @return
	 * @author 虞云波 - yuyunbo@3856.cc
	 * @version 1.0 Created on 2017年10月12日 下午13:29:23
	 */
	@RequestMapping("/initAddUpdateSysRoleResourcePage")
	public String initAddUpdateSysRoleResourceDTOPage(HttpServletRequest request,SysRoleResourceDTO bean) {
		request.setAttribute("bean", bean);
		return "initAddUpdateSysRoleResourcePage";
	}
	
	/**
	 * 
	 * <p>获取角色信息</p>
	 * 
	 * @param bean
	 * @return
	 * @author: 虞云波 - yuyunbo@3856.cc 
	 * @date: Created on 2017年10月31日 上午11:45:00
	 */
	@RequestMapping("/queryObjectListForRole")
	@ResponseBody
	public Object queryObjectListForRole(SysResourceDTO bean){
		bean.setSelectType("301,302");
		return sysResourceService.queryObjectList(bean);
	}
	
	
	@RequestMapping("/saveOrUpdateSysRoleResource")
	@ResponseBody
	public Object saveOrUpdateSysRoleResource(HttpServletRequest request,SysRoleResourceDTO bean) throws Exception{
		
		if(StringUtils.isEmpty(bean.getIdStr()) || StringUtils.isEmpty(bean.getRid()) ){
			throw new CustomException("CBWL-000006");
		}
		return SysRoleResourceDTOService.saveOrUpdateSysRoleResource(bean);
	}
	
	
	
	/**
	 * 
	 * <p>根据角色id,查询出资源信息</p>
	 * 
	 * @param request
	 * @param bean
	 * @return
	 * @throws Exception
	 * @author: 虞云波 - yuyunbo@3856.cc 
	 * @date: Created on 2017年10月31日 下午4:42:39
	 */
	@RequestMapping("/getSysResourceByRole")
	@ResponseBody
	public Object getSysResourceByRole(HttpServletRequest request,SysRoleResourceDTO bean) throws Exception{
		
		if(StringUtils.isEmpty(bean.getRid()) ){
			throw new CustomException("CBWL-000006");
		}
		return SysRoleResourceDTOService.queryObjectList(bean);
	}
	
	

	/**
	 * <p>查询（分页）</p>
	 * 
	 * @param bean
	 * @return
	 * @author 虞云波 - yuyunbo@3856.cc
	 * @version 1.0 Created on 2017年10月12日 下午13:29:23
	 */
	@RequestMapping("/querySysRoleResourceDTOPage")
	@ResponseBody
	public Object querySysRoleResourceDTOPage(SysRoleResourceDTO bean) {
//		 SysRoleResourceDTOService.querySysRoleResourceDTOPage(bean);
		return null;
	}

	/**
	 * 
	 * <p>通过id查询主体信息</p>
	 * 
	 * @param bean
	 * @return
	 * @author 虞云波 - yuyunbo@3856.cc
	 * @version 1.0 Created on 2017年10月12日 下午13:29:23
	 */
	@RequestMapping("/getSysRoleResourceDTOById")
	@ResponseBody
	public Object getSysRoleResourceDTOById(SysRoleResourceDTO bean) {
//		 SysRoleResourceDTOService.getSysRoleResourceById(bean);
		return null;
	}

	/**
	 * 
	 * <p>保存主体信息</p>
	 * 
	 * @param bean
	 * @return
	 * @author 虞云波 - yuyunbo@3856.cc
	 * @version 1.0 Created on 2017年10月12日 下午13:29:23
	 */
	@RequestMapping("/saveSysRoleResourceDTO")
	@ResponseBody
	public Object saveSysRoleResourceDTO(SysRoleResourceDTO bean) throws Exception {
		return SysRoleResourceDTOService.saveObject(bean);
	}

	/**
	 * 
	 * <p>更新主体信息</p>
	 * 
	 * @param bean
	 * @return
	 * @author 虞云波 - yuyunbo@3856.cc
	 * @version 1.0 Created on 2017年10月12日 下午13:29:23
	 */
	@RequestMapping("/updateSysRoleResourceDTO")
	@ResponseBody
	public Object updateSysRoleResourceDTO(SysRoleResourceDTO bean) throws Exception {		
		return SysRoleResourceDTOService.updateObject(bean);
	}

	/**
	 * 
	 * <p>删除主体信息</p>
	 * 
	 * @param bean
	 * @return
	 * @author 虞云波 - yuyunbo@3856.cc 
	 * @version 1.0 Created on 2017年10月12日 下午13:29:23
	 * @throws Exception 
	 */
	@RequestMapping("/deleteSysRoleResourceDTO")
	@ResponseBody
	public Object deleteSysRoleResourceDTO(SysRoleResourceDTO bean) throws Exception {
		return SysRoleResourceDTOService.deleteObject(bean);
	}
}
